package cn.demoncat.util.xml.entity;

import cn.demoncat.util.lang.LocalDateUtil;
import com.thoughtworks.xstream.converters.SingleValueConverter;
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;

import java.time.LocalDateTime;

/**
 * XStream LocalDateTime转换器
 * 
 * @author 延晓磊
 *
 * @since 2019年10月10日
 */
public class XStreamLocalDateTimeConverter extends AbstractSingleValueConverter {

	/**
	 * 实例
	 */
	public static final SingleValueConverter INSTANCE = new XStreamLocalDateTimeConverter();

	/**
	 * 类型判断
	 *
	 * @param 	type
	 * @return
	 *
	 * @author 延晓磊
	 *
	 * @since 2019年10月10日
	 *
	 */
	@Override
	public boolean canConvert(Class type) {
		return type == LocalDateTime.class;
	}

    /**
     * 反序列化
	 *
	 * @param str
     * @return
     */
	@Override
	public Object fromString(String str) {
		return LocalDateUtil.toLocalDateTime(str);
	}


}
